﻿#include "DarkSkin.h"

namespace vl
{
	namespace presentation
	{
		namespace user_resource
		{
			using namespace collections;
			using namespace stream;
			using namespace controls;

			class DarkSkinResourceReader
			{
			public:
				static const vint parserBufferLength = 1743; // 4490 bytes before compressing
				static const vint parserBufferBlock = 1024;
				static const vint parserBufferRemain = 719;
				static const vint parserBufferRows = 2;
				static const char* parserBuffer[2];

				static void ReadToStream(vl::stream::MemoryStream& stream)
				{
					DecompressStream(parserBuffer, true, parserBufferRows, parserBufferBlock, parserBufferRemain, stream);
				}
			};

			const char* DarkSkinResourceReader::parserBuffer[] = {
				"\x8A\x11\x00\x00\xC7\x06\x00\x00\x4A\x00\x01\x82\x80\x00\x81\x80\x1E\x29\x65\x73\x2F\x35\x32\x3B\x31\x33\x26\x65\x74\x21\x24\x31\x32\x88\x10\x27\x61\x6D\x25\x3D\x12\x12\x10\x10\x2B\x65\x72\x33\x29\x3F\x36\x34\x8F\x18\x2E\x30\x22\x1E\x1C\x1C\x21\x32\x38\x65\x6E\x24\x31\x93\x31\x35\x85\x17\x2C\xAF\x08\x8A\x8C\x86\x84\x88\x89\x14\x92\xBE\x05\x03\x82\x80\x05\xA2\x01\xC7\x81\x89\x2E\x33\x3A\x88\x37\x0E\x8D\x08\xA0\x02\xAB\xA5\xA7\xA7\x0E\xD3\x34\x39\x3C\x35\x33\x01\xA9\x5F\x81\x84\x2F\x33\x34\x03\xA8\xB3\x01\xD4\x25\x38\x34\x3F\x07\xA8\xB7\x01\xC3\x2C\x21\x33\x3B\x38\x8C\x8D\x08\xE3\x2F\x32\x34\x33\xA8\x01\xB0\x45\xCA\x81\xC2\x84\x21\x32\x39\x35\x53\x6B\x29\x2E\x3E\xBE\xBF\x05\xA9\x11\x10\xC2\x82\x24\xBD\x30\x37\xC5\x65\x63\xA3\x35\x3A\x8E\x34\x3B\x39\x7E\x81\x13\xA2\x07\xB5\xD2\xB0\xC3\x6B\x3E\x53\xAA\xD6\x82\xCC\x97\x21\x25\xF4\x31\x94\x38\x9C\x1E\xAC\xAE\x09\xAC\xB7\xDD\xA0\x16\x35\x8D\x8D\x22\x23\x2E\x86\x31\x35\x38\x36\x3A\x2D\x4F\x36\x21\x92\x39\x37\x99\x95\x3C\x7A\xAC\x3B\xBE\x1B\x12\x23\xEB\xD8\xBC\x2F\x12\xE4\xEA\xEF\xDD\x32\xBA\xDB\xBC\xDE\xDA\x8C\x8F\x11\x29\x96\xE5\x23\x34\x34\x96\x35\xE5\xE5\x72\x4D\xCF\xEC\x9C\xEA\x39\xEA\xEC\xD9\xDB\xEF\x33\xE6\xFC\x1E\x31\x35\xF5\x55\x70\x0C\x0C\x37\x01\x13\x13\x10\xDA\x7F\x71\x82\x77\xE2\x60\x7C\x80\x6E\x73\x39\x4E\x6A\x5F\x06\x13\x55\x85\x40\x42\x35\x14\x1C\x1D\x25\x4D\x6E\x87\x60\x48\x42\x6A\x64\x67\xB3\x5F\x86\x88\x00\x68\x45\x59\x88\x13\x69\x0E\x57\x8B\x87\x29\x83\x49\x89\x13\x2D\xA3\x1F\x8A\x87\x17\x85\x59\x8E\x14\x69\x22\x12\x19\x87\x37\x94\x86\x86\x40\x53\x23\x12\x1F\x7E\x6C\x01\x9E\x5C\x60\x03\x40\x64\x15\x18\x62\x0A\x93\x57\x01\x53\x82\x4A\x58\x5B\x42\x2F\x18\x1E\x94\x48\x49\x03\x56\x97\x69\x6F\x1B\x7E\x53\xCD\x70\x1C\x96\x8E\x43\x81\x47\x17\x62\x64\x2F\x17\x1F\x99\x03\x4C\x03\x56\x9C\x01\x47\x11\x1B\x18\x47\x31\x40\x6E\x1B\x66\x29\x17\x19\x90\xA2\x48\x5C\x92\x40\x80\x43\x10\x1E\x99\x53\x44\x52\xA3\x54\x55\x45\x5D\xA2\xA1\x70\x30\x6D\x18\x1C\x72\x09\x43\x1D\x19\x64\x14\x03\x56\xA6\xA7\x47\x69\x63\x62\x3B\x4B\x4D\x41\x19\x2E\x23\x17\xA3\xA0\x01\x71\x82\x41\x8A\x77\x65\x12\x63\x40\x22\xA8\x6F\xA6\x1B\xA8\x94\x5C\xA2\x40\x4E\x3B\x5D\x19\x18\x6C\x0C\x53\x18\x1B\x75\x33\x40\x07\x54\xC3\x81\x4E\x0A\x0B\x2F\x07\xB9\xB0\xB2\x76\xA3\x15\x15\x12\x2E\x28\x15\xAD\x64\x48\x54\xB0\x00\x42\x66\x1D\x5B\x79\x7B\xBE\x80\xB3\x4D\x0E\x53\x60\xB6\xB0\xB2\xCA\x8A\xB8\xB6\xB6\xEC\x65\x4F\x08\x15\x79\x30\x4E\x4B\x1C\x46\xA9\x10\x1C\x87\x22\x6F\x07\x11\x1D\x69\x27\xBA\x79\xBA\x6E\x10\x10\xB3\x19\x8B\x51\xB5\xAC\x9D\x45\x44\xC3\x16\xA8\x0E\x46\x1B\x7F\x4C\x72\x39\x83\x41\x8E\x07\xFD\x45\x1A\x63\x53\x4F\x61\x40\x14\x95\xBA\x53\xA5\x1A\x5D\x7D\x53\x55\xA0\x2A\xAF\x52\xC9\x5C\x73\x75\x5D\xA9\x5E\x7B\x64\x15\x13\xC8\x45\x70\x50\x00\x45\x87\x73\x1A\x62\x1B\x3A\x3A\x04\x14\x1A\x65\x1A\x48\x07\x54\x3B\xC1\x40\xCF\x1A\x32\xCB\x65\xCD\x86\x1B\xA5\x4A\x5B\xA4\x73\x72\x6A\x07\x54\x4B\xFE\xC8\x69\xD0\x34\xFA\x03\x10\xCE\x63\x2B\x19\x94\x1E\x47\xF0\x19\xD1\x19\x1D\x13\x5D\xD6\xD3\x31\xF3\xC5\xCE\x14\x13\x64\x44\xD0\x87\x6E\x19\xDB\xD7\x07\x53\x6C\xD0\xD8\xD0\x62\xFA\x03\x89\x67\x74\x0C\x10\x96\x65\x6A\xD5\x45\x19\x08\x53\x7C\xDF\xD8\xD4\x35\xF3\xD3\x6F\x95\x74\x17\xD9\xDE\x6C\x20\x13\x59\xE3\xDF\x71\xC2\xEE\x66\x15\x36\x77\x11\x4B\xE1\x65\x0D\xD5\x52\xE5\x3F\xC0\xE2\xD7\x1B\x6D\x3F\x86\xE1\xCE\x5A\xFA\xD4\x0B\x54\xA3\xCC\xE2\xD2\x0E\x45\x38\x10\x1D\x18\x32\x4B\x67\x1A\x4B\x7A\x72\x15\x47\x5E\x94\xCB\xE5\x52\xED\x99\xF1\xD9\x12\x6C\x6D\x14\x65\xD7\x19\x47\xB5\x12\x4C\xE5\x26\x13\x55\xF2\xE9\x51\xEC\x8E\x50\xE4\x65\x37\x10\x6C\xB0\x6D\x2E\x18\x11\x19\x13\x53\xE0\xEB\xD6\x96\xC3\x48\xE7\xD3\x71\xCA\xF4\x1C\xF3\x77\x14\xE9\xF6\x40\xDB\xE1\xD7\xE8\xE1\xDE\xE2\xFC\xD2\x40\xB9\xE7\xF5\xA5\x19\xE0\xD4\xEC\x07\x54\xF3\xC8\xF1\xE2\xDE\x67\xC6\xD7\xF6\xDE\xF5\xC5\x5D\xFD\xFB\x51\x65\x32\x6C\x50\x09\x0D\xAA\x56\x78\x69\x7A\x63\x7D\x40\x65\x70\x6F\xD3\x47\x09\x78\x70\x1F\x70\x02\xB2\x37\x03\xA9\x15\x86\x7E\x3A\x16\x6E\x18\x78\x6B\x7E\xD9\x1F\x6D\x28\x1F\x80\x81\xCD\x53\x08\x0D\xBD\x34\x0B\x33\x74\x0B\x09\x19\x79\x04\x72\x11\x13\x2E\x85\x18\x9C\x46\x8F\x25\x23\x0A\xAD\x69\x0C\x0E\x41\x11\x3E\x9B\x14\x7E\x6D\xA2\x3D\x82",
				"\x84\x3A\x12\x87\x8F\x6E\x09\x7F\xA6\x14\x75\x05\x53\x28\x89\x0C\xBD\x43\x88\x3B\x6C\x0D\x2B\x72\x19\x0C\x11\x47\x40\x0F\x36\x77\x0C\x88\x1A\x48\x6C\xE5\x27\x03\x2A\x2E\x8B\x8B\x86\x6E\x0E\x88\x14\xF9\x0B\x77\x9C\x69\x7D\x83\x65\x1D\x87\x40\x3F\x8C\x7B\xD3\x42\x8D\x24\x62\x81\x24\x0B\xE8\x89\x05\xA9\x35\x8F\x8B\x4D\x90\x81\xEA\x2B\x72\x27\x22\x94\x76\x6F\x45\x20\x90\x10\xEF\x81\x8C\x08\x90\x26\x0D\x75\x14\x73\x07\x83\x21\x85\x36\x91\x6C\x90\x0F\x8B\x20\x1C\x7F\x8D\x6E\xF6\x4E\x93\x6C\x4C\x85\x25\x12\x7A\x2E\x0C\x0D\x9C\x83\x82\x65\x03\x07\x54\x22\x98\x8F\x92\x36\x6A\x0E\x67\x05\x0E\x1F\xE8\x8B\x05\xA9\x2D\x95\x94\x9D\x86\x31\x2A\xD3\x8F\x0D\x2A\xAE\x48\x8B\x45\x69\x6C\x1A\xA8\x03\x2A\x5E\xB0\x97\x94\xA9\x95\x87\x65\x05\x79\x8A\xFD\x60\x94\x94\x45\x28\x9B\x20\x99\x9E\x0D\x29\x3B\x57\x89\xAB\x80\x97\x2B\xC5\x23\x9B\x65\xA0\x8E\x99\xBC\x4C\x0C\x2D\xB6\x97\x8B\x68\xA1\x72\x36\xC7\x65\x29\x38\xD6\x93\x88\x6C\x8F\x8B\x93\xA6\x97\x6C\x1B\x14\x7E\x97\xA2\x2D\x9C\x9C\x34\x8F\x98\x1B\x42\x97\x86\x6F\x9B\x6E\x8B\x45\x38\x9C\x3C\xE9\x62\x4C\x36\x24\x4A\x5E\xD3\x75\x7A\x1C\x14\x75\x05\xA9\x05\xA0\x96\x54\x1D\x9F\x3F\xF0\x07\x91\x44\xA8\x88\x86\x45\x30\xA3\x3E\x89\xA3\x4C\x3A\x25\x4B\x0E\x94\x65\x75\x51\x1A\xA0\x89\x2C\x45\x6D\x0D\x45\x47\x48\x34\xC5\x9A\x96\x50\xAA\x8A\x20\x6C\x86\x7D\xD4\x48\x01\xA4\x24\x48\x0C\x75\x64\x1D\x28\xE5\x19\x03\x2A\x9A\x98\x84\xA5\x46\x48\x4A\xFA\x48\x2C\x80\xCD\x48\x0C\x0A\xB2\x66\x83\x40\x8F\xAF\x84\x4B\xAA\xA5\x66\x4C\x05\x0E\x19\x74\x0D\xA5\x91\xB9\x92\x91\x5E\x66\xA9\x03\xD1\x68\x63\x37\x00\x7E\x52\x94\x23\xAB\x31\xA3\x92\xAA\xCD\x7C\x47\x0C\x68\x0C\xA9\x4E\xCE\xAA\x8A\x34\xBD\x7B\x20\xFF\x77\x92\x0E\x4D\xAC\x0D\xF8\x68\x88\x90\x03\x22\x92\x5A\x89\xA0\x0E\xB6\xB6\x9A\x6F\x27\xA1\x21\x4A\xD3\xA5\x66\x2B\x2C\xAF\xA5\x32\x32\xA4\x1A\xB6\xA5\x28\xC2\x80\x8E\xAF\x63\xAB\x9C\x1A\x8A\x80\x01\x9E\xB1\x6E\x0A\x40\xB7\x4F\x1A\x07\x8F\x9B\xBD\x55\x90\x83\x4F\x42\x0D\x40\x8C\x67\xAE\xD9\x1B\x03\x2A\x9F\xB8\xB0\x94\x1B\xB4\xB3\xAD\x55\x03\x2A\xA7\xA2\xB6\x18\x2D\x85\xA8\x0C\x8D\x0E\x38\xEC\x37\x32\x1B\x65\x04\x70\x09\x95\xB0\x99\x03\x2A\x9A\x5A\xD3\x0E\x75\xAE\x32\xB4\xB6\x6B\x25\x72\x96\x3C\x8D\x6D\xAE\xB1\x6D\xA1\x59\xBD\xB1\x19\x36\x73\x20\xDC\x6A\xAD\xA1\x65\x9D\x74\x49\x94\x7E\x03\xA9\x15\xBE\xB5\x31\x35\x0C\x3D\x9B\x45\xB4\xBD\x47\xA5\x28\xDF\xA0\x88\x45\xFE\x96\xA2\x79\x5B\xB9\x87\x47\x41\x7F\x5B\x97\xBF\x65\xB9\x8A\xA5\xBC\x11\x93\xB8\x1D\xF6\x86\xB9\xF3\x6F\xBD\x4C\xDB\x96\x88\x2E\xE5\xA6\xA5\xE2\x98\xB7\xBE\xF2\x4D\xA0\xF1\x46\x75\xBF\xA8\x63\xBB\xA1\xDB\xAA\xB8\x6E\x82\x2A\xB7\xA3\xB6\x60\xC0\x75\xB6\x84\x77\xDA\xA5\xB3\xD0\x85\x2E\xC2\xE2\xB0\xC0\x71\xC8\x2B\xAE\xCD\x43\x0D\x0E\x4E\x3C\x73\x9E\x16\xAB\x3E\xCA\x4B\xC1\x20\x0D\xDC\xAE\xD4\x20\xCC\x43\x36\x06\x0A\x76\x1A\x2B\x4E\x4C\x3B\x88\x8D\x13\xC0\x01\xC5\x9A\x73\x09\x1E\x4E\x29\x67\x17\xFF\x32\xC6\x56\x93\xA5\x4D\x85\xC5\x67\xF1\xAC\x3B\x92\x68\x9E\x2C",
				};

			class DarkSkinResourceLoaderPlugin : public Object, public IGuiPlugin
			{
			public:

				GUI_PLUGIN_NAME(GacGen_DarkSkinResourceLoader)
				{
					GUI_PLUGIN_DEPEND(GacUI_Res_Resource);
					GUI_PLUGIN_DEPEND(GacUI_Res_TypeResolvers);
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
					GUI_PLUGIN_DEPEND(GacUI_Instance_Reflection);
					GUI_PLUGIN_DEPEND(GacUI_Compiler_WorkflowTypeResolvers);
#endif
				}

				void Load()override
				{
					List<GuiResourceError> errors;
					MemoryStream resourceStream;
					DarkSkinResourceReader::ReadToStream(resourceStream);
					resourceStream.SeekFromBegin(0);
					GetResourceManager()->LoadResourceOrPending(resourceStream, GuiResourceUsage::InstanceClass);
				}

				void Unload()override
				{
				}
			};
			GUI_REGISTER_PLUGIN(DarkSkinResourceLoaderPlugin)
		}
	}
}
